Since the existing networks exposure more and more disadvantages and people's requirements on the network performance get higher, researchers have to add a great many complicated functions such as Open Shortest Path First (OSPF), a Border Gateway Protocol (BGP), multicast, differentiated services, traffic engineering, Network Address Translation (NAT), firewall and Multi-Protocol Label Switching (MPLS), etc. into architecture of a router. This makes switching devices such as the router more and more bloated and space of performance improvement smaller.
However, it is entirely different from the dilemma of the network field that the computer field achieves a rapid development. Carefully looking back over the development in the computer field, it is not hard to discover that the key is that the computer field finds a simple and available hardware bottom layer (an ×86 instruction set). Due to such a public hardware bottom layer, in aspect of software, both the application program and the operating system have achieved rapid development. Now many people who advocate redesigning the computer network architecture believe that: the network may copy the success of the computer field to solve all the problems encountered in the existing network. Under the guidance of that idea, the future network must be like this: the bottomed data paths (switches and routers) are “mute, simple and minimum”, and one open and public Application Programming Interface (API) with respect to a flow table is defined, and the controller is adopted to control the entire network in the meantime. The future researchers can freely call the bottomed API via the controller to perform programming, thereby achieving the network innovation.
Based on the above concept, a Software Defined Network (SDN) appears, and it is originally a new-type network innovation architecture proposed by the clean slate research group of Stanford University. At present, the core technology OpenFlow protocol of the SDN implements a flexible control for network traffics by separating a control plane of the network device from a data plane, which provides a good platform for the innovation of the core network and applications.
An OpenFlow switch includes three parts: a flow table, a security channel and an OpenFlow protocol.
The security channel is an interface for connecting the OpenFlow switch to a controller. The controller controls and manages the switch via the interface, and meanwhile, the controller receives an event from the switch and sends a data package to the switch. The switch and controller perform communication via the security channel, and all the information must be executed according to formats specified in the OpenFlow protocol.
The OpenFlow protocol is used for describing a standard of information used for an interaction between the controller and the switch and an interface standard of the controller and the switch. A core part of the protocol is a set used for information structure of the OpenFlow protocol.
The OpenFlow protocol supports three information types: Controller-to-Switch, Asynchronous and Symmetric, each type has a plurality of subtypes. Controller-to-Switch information is initiated by the controller and directly used for detecting a status of the switch. Asynchronous information is initiated by the switch and normally used for updating network events of the controller and changing the status of the switch. Symmetric information can be initiated by the controller or switch in the condition of no request.
The SDN/OpenFlow is currently at an initial stage of development, the protocol functions are not perfect, and in aspects of discovery of routing topology and uniform control of multiple transport technology networks, certain defects of different degrees are required to be perfected.
At present, two design methods are used for topology discovery in the SDN/OpenFlow scenario.
One is to use an original Link Layer Discovery Protocol (LLDP) protocol to assist the topology discovery, a topology discovery process thereof is: a Controller generating an LLDP packet, and periodically sending the LLDP packet to an OpenFlow switch through a packet-out message, the OpenFlow switch forwarding the LLDP packet to a neighboring switch based on the motion behavior of the Controller, and the neighboring OpenFlow switch sending the LLDP packet to the Controller through a packet-in message, so that the Controller can possess the topology of the entire switched network.
The other one is to use an extended LLDP protocol to perform topology discovery, such LLDP protocol supports the usage of a multicast IP address, when the device receives the LLDP packet, the device not only updates local LLDP information, but also forwards the LLDP packet to other interfaces, so that the Controller and all switches possess the topology of the entire network area.
The above two schemes have the same disadvantage when the network topology discovery is performed, that is, greater pressure is easily put on the control channel in a case that a great many switches and ports exist.